import request from "@/utils/request.js";

/**
 * 获取商品列表
 * @param {Object} params
 * @returns
 */
export function getProductList(params) {
  return request({
    url: `/api/product/list`,
    method: "get",
    params,
  });
}

/**
 * 获取商品详情
 * @param {number|string} id- 商品id
 * @returns
 */
export function getProductDetail(id) {
  return request({
    url: `/api/product/${id}`,
    method: "get",
  });
}
/**
 * 新增、编辑商品
 * @param {Object} data - 商品信息，含id为编辑，否则为新增
 * @returns
 */
export function saveProduct(data) {
  if (data.id) {
    return request({
      url: `/api/product/${data.id}`,
      method: "post",
      data,
    });
  } else {
    return request({
      url: "/api/product",
      method: "post",
      data,
    });
  }
}
/**
 * 获取OSS上传策略
 * @returns
 */
export function getOssPolicy() {
  return request({
    url: "/api/oss/policy",
    method: "get",
  });
}
/**
 * 删除商品
 * @param {number | string} id
 * @returns
 */
export function deleteProduct(id) {
  return request({
    url: `/api/product/${id}`,
    method: "delete",
  });
}
/**
 * @param {number|string} id -商品ID
 * @param {number} status -1 上架，0 下架
 * @returns
 */
export function updateProductStatus(data) {
  // 错误示例：URL 拼接可能直接用了 data.id（但 data.id 是对象）
  return request.put(`/api/product/${data.id}/status`, { status: data.status });
}